package com.project.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 审批步骤详情 VO（用于前端展示或接口返回）
 */
@Data
public class ApprovalStepDetailVO {

    /**
     * 审批步骤记录ID（主键）
     */
    private Integer stepId;

    /**
     * 关联的审批实例ID，对应 approvals.approval_id
     */
    private Integer approvalId;

    /**
     * 步骤序号，从1开始（如1=材料员，2=项目经理）
     */
    private Integer stepOrder;

    /**
     * 审批人用户ID，关联 users.user_id
     */
    private Integer approverId;

    /**
     * 审批人姓名，便于前端直接展示
     */
    private String approverName;

    /**
     * 审批结果：
     * null - 未审批，
     * 1 - 通过，
     * 2 - 拒绝
     */
    private Integer decision;

    /**
     * 审批结果的中文名称，如“通过”、“拒绝”
     */
    private String decisionName;

    /**
     * 审批意见或备注内容
     */
    private String comment;

    /**
     * 审批时间，格式：yyyy-MM-dd HH:mm:ss
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime approvedAt;

    /**
     * 关联的审批流程基本信息（嵌套对象）
     */
    private ApprovalInfoVO approvalInfo;


}